package com.zillion.employee.service;

import com.zillion.employee.domain.EmployeeReserve;
import com.zillion.employee.domain.PersonApply;
import com.zillion.employee.domain.UnitReserve;
import com.zillion.employee.domain.vo.MineProgressVO;
import com.zillion.health.domain.vo.UISelectDataVo;

import java.util.List;

public interface IEmployeeReserveService {

    /**
     * 根据身份证查询预约信息
     *
     * @param idCard 身份证号
     * @return 申报信息
     */
    PersonApply selectApplyInfoByIdCard(String idCard);

    /**
     * 根据园区id查询医院信息
     *
     * @param parkId 园区id
     * @return 医院信息
     */
    List<UISelectDataVo> selectHospitalInfoByParkId(Integer parkId);

    /**
     * 添加预约信息
     *
     * @param employeeReserve 预约信息
     * @return 添加结果
     */
    int addPeronReserve(EmployeeReserve employeeReserve);

    /**
     * 根据社会信用代码查询企业预约信息
     *
     * @param socialCreditCode 社会信用代码
     * @return 预约信息
     */
    UnitReserve getUnitReserveInfo(String socialCreditCode);

    /**
     * 添加企业人员预约信息
     *
     * @param unitReserve 预约信息
     * @return 添加结果
     */
    int addUnitPersonReserve(UnitReserve unitReserve);

    /**
     * 获取所有医院信息
     * @return 医院信息
     */
    List<UISelectDataVo> loadAllHospitals();

    /**
     * 获取所有医院地址信息
     * @return 医院地址信息
     */
    List<UISelectDataVo> loadAllHospitalAddress();

    /**
     * 获取用户预约进度信息
     * @param idCard 身份证号
     * @return 预约进度信息
     */
    MineProgressVO loadUserProgress(String idCard);
}
